package com.smart.community.order.common.utils;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.RandomUtil;
import com.smart.community.order.common.enums.PlatFormEnum;

import java.util.Date;

/**
 * @author zhangwei
 */
public class OrderUtils {
    /*
     * 订单号生成
     * 1. 唯一性
     * 2. 安全性
     * 3. 可读性
     * 4. 不宜过长  需要创建索引
     *   10- 20之间
     * 关键信息  订单来源  pc  app  小程序
     * 日期  + 来源 +  订单类型 + 4随机数
     *
     */
    public static String generateOrderNo(int flag, int orderType) {
        // 8 + 2  + 2  +
        return String.format("%s%s%s%s", DateUtil.format(new Date(), "yyyyMMdd"), PlatFormEnum.of(flag), orderType, RandomUtil.randomNumbers(4));
    }

    public static void main(String[] args) {
        System.out.println(OrderUtils.generateOrderNo(1, 10));
    }

}
